using System;

namespace Ro.Norc.ServiceStackClient
{
	public interface ServiceTransportInterface
	{
		event ServiceTransportResponseDelegate TransportResponse;
		
		event ServiceTransportProgressDelegate TransportProgress;
		
		event ServiceTransportUploadProgressDelegate TransportUploadProgress;
		
		event ServiceTransportBasicHttpAuthPromptDelegate TransportBasicHttpAuthPrompt;
		
		void Send(ServiceTransportRequest request);
		
		void Close();
		
		ServiceTransportRequest CurrentRequest { get; }
		
		bool Loading { get; }
	}
}